﻿
namespace RecruitmentAgency.Models.DataTypes
{
    /// <summary>
    /// The RecruitmentAgency.Models.Cv.DataTypes.RegisterJobProvider contains the details for the registration of a Job Provider    
    /// </summary>
    public class JobProvider
    {
        /// <summary>
        /// Gets or sets the ID number of the Job Provider
        /// </summary>
        public int JobProviderId { get; set; }

        /// <summary>
        /// Gets or sets the Company Name of the Job Provider
        /// </summary>
        public string CompanyName { get; set; }
        
        /// <summary>
        /// Gets or sets the Registration Number of the Job Provider
        /// </summary>
        public string RegistrationNumber { get; set; }
        
        /// <summary>
        /// Gets or sets the work email of the person representing the Job Provider
        /// </summary>
        public string Email { get; set; }

        /// <summary>
        /// Gets or sets the title of the person representing the Job Provider
        /// </summary>
        public string Title { get; set; }
        
        /// <summary>
        /// Gets or sets the first name of the person representing the Job Provider
        /// </summary>
        public string FirstName { get; set; }

        /// <summary>
        /// Gets or sets the last name of the person representing the Job Provider
        /// </summary>
        public string LastName { get; set; }

        /// <summary>
        /// Gets or sets the the Username of the Job Provider
        /// </summary>
        public string UserName { get; set; }

        /// <summary>
        /// Gets or sets the password of the Job Provider
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        /// Gets or sets the Encrypted Password
        /// </summary>
        public byte[] EncryptedPassword { get; set; }

        /// <summary>
        /// Gets or sets the Salt Key
        /// </summary>
        public byte[] Salt { get; set; }
        
        /// <summary>
        /// Gets or sets the confirmation password of the Job Provider
        /// </summary>
        public string ConfirmPassword { get; set; }
        
        /// <summary>
        /// Gets or sets the first line of the address of the Job Provider
        /// </summary>
        public string AddressLine1 { get; set; }

        /// <summary>
        /// Gets or sets the second line of the address of the Job Provider
        /// </summary>
        public string AddressLine2 { get; set; }

        /// <summary>
        /// Gets or sets the town of the Job Provider
        /// </summary>
        public string Town { get; set; }

        /// <summary>
        /// Gets or sets the post code of the Job Provider
        /// </summary>
        public string PostCode { get; set; }

        /// <summary>
        /// Gets or sets the phone number of the Job Provider
        /// </summary>
        public string Phone { get; set; }

        /// <summary>
        /// Gets or sets the website URL of the Job Provider
        /// </summary>
        public string WebsiteUrl { get; set; }

        /// <summary>
        /// Gets or sets the industry sector of the Job Provider
        /// </summary>
        public string Sector { get; set; }


        /// <summary>
        /// Gets a Boolean value that determines whether the RecruitmentAgency.Models.Cv.DataTypes.JobProvider is to be considered to be null
        /// </summary>
        public bool IsNull
        {
            get
            {
                return CompanyName == null && RegistrationNumber == null && Email == null && WebsiteUrl == null && UserName == null && Password == null && ConfirmPassword == null && AddressLine1 == null && PostCode == null && Town == null && Title == null;
            }
        }
    }
}